package com.Maykk.Demo10;

import java.util.ArrayList;
import java.util.Comparator;

/**
 * @ClassName: Demo01
 * @Description: TODO 函数式接口作为返回值
 * @Author: MaykkStar@163.com
 */
public class Demo01 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("12345");
        list.add("123456789");
        list.add("1234");
        list.add("123456");
        list.add("123");
        list.add("1234567");
        list.add("12345678");
        list.sort(getComparator());
        for (String s : list) {
            System.out.println(s);
        }
    }

    private static Comparator<String> getComparator() {
        // 匿名内部类返回 Comparator 对象
        // return new Comparator<String>() {
        //     @Override
        //     public int compare(String o1, String o2) {
        //         return o1.length() - o2.length();
        //     }
        // };

        // 完整 Lambda 返回 Comparator 对象
        return (o1, o2) -> o1.length() - o2.length();

        // 省略 Lambda 返回 Comparator 对象
        // return Comparator.comparingInt(String::length);

    }

}
